# 决策树
# 数据: 游乐场经营者提供**天气情况**（如晴、雨、多云）、**温度高低**、**湿度大小**、**风力强弱**等气象特点以及游客当天是否前往游乐场。
# 目标: 预测游客是否来游乐场游玩。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# %matplotlib inline
import math
from math import log
import warnings
warnings.filterwarnings("ignore")

# 原始数据
datasets = [
    ['晴', 29, 85, '否', '0'],
    ['晴', 26, 88, '是', '0'],
    ['多云', 28, 78, '否', '1'],
    ['雨', 21, 96, '否', '1'],
    ['雨', 20, 80, '否', '1'],
    ['雨', 18, 70, '是', '0'],
    ['多云', 18, 65, '是', '1'],
    ['晴', 22, 90, '否', '0'],
    ['晴', 21, 68, '否', '1'],
    ['雨', 24, 80, '否', '1'],
    ['晴', 24, 63, '是', '1'],
    ['多云', 22, 90, '是', '1'],
    ['多云', 27, 75, '否', '1'],
    ['雨', 21, 80, '是', '0']
]
# 数据的列名
labels = ['天气', '温度', '湿度', '是否有风', '是否前往游乐场']
# 将湿度大小分为大于 75 和小于等于 75 这两个属性值，
# 将温度大小分为大于 26 和小于等于 26 这两个属性值
for i in range(len(datasets)):
    if datasets[i][2] > 75:
        datasets[i][2] = '>75'
    else:
        datasets[i][2] = '<=75'
    if datasets[i][1] > 26:
        datasets[i][1] = '>26'
    else:
        datasets[i][1] = '<=26'
# 构建 dataframe 并查看数据
df = pd.DataFrame(datasets, columns=labels)
print(df)
